package store

import (
	"auth/model"
	"auth/model/entity"
)

type IDept interface {
	Create(e *entity.Dept) (int64, error)
	Find(id int64) (*entity.Dept, error)
	Update(id int64, updates map[string]interface{}) error
	Delete(id int64) error
	List(in *model.DeptListRequest) (int, []*entity.Dept, error)
	IsExistDeptName(notEqId int64, deptName string) error
	GetBaseDeptTreeMap() ([]*entity.Dept, error)
	FindByParameter(in *model.DeptInfo) (*entity.Dept, error)
	GetChildrenByDeptId(deptId int64) ([]int64, error)
}
